//创建基本的express服务器
//导入 express
const express = require('express');
//创建服务器实例
const app = express();

//导入自己写的路由模块
const router = require('./apiRouter');




//注册url-encoded中间件
app.use(express.urlencoded({ extended: false }));
//中间件必须在路由模块之前配置

//优先创建JSONP接口（这个接口不会被处理成CORS接口）
app.use('/api/jsonp', (req, res) => {
    //实现JSONP接口的过程
    //1.拿到客户端发送过来的回调函数名字
    const callback = req.query.callback;
    //2.得到要通过JSONP形式发送给客户端的数据
    const data = { name: '张三', age: 18 };
    //3.根据前两步得到的数据，拼接出一个函数调用的字符串
    const str = `${callback}(${JSON.stringify(data)})`;
    //4.把上一步得到的字符串相应给客户端的<script>标签进行解析执行
    res.send(str);
});
//再配置CORS中间件（后续的所有接口都会被处理成CORS接口）


//在路由之前配置CORS中间件，从而解决跨域问题
const cors = require('cors');
app.use(cors());


//把路由挂载到app上
app.use('/api', router); //就是处在最后位置的全局中间件


//启动服务器
app.listen(80, () => {
    console.log('express server running at localhost:80');
});